package com.itheima.ood.lambda.demo04;

public class LambdaDemo {

    // 入口
    public static void main(String[] args) {

        // 调用useStringHandler方法
        // 直接去使用匿名内部类
        useStringHandler(new StringHandler() {

            @Override
            public void printMessage(String msg) {
                System.out.println(msg + "不错不错....");
            }

        });

        System.out.println("---------------------------------------------------");

        // 使用lambda表达式进行方法调用
        useStringHandler((String msg) -> {
            System.out.println(msg + "不错不错....");
        });

        System.out.println("---------------------------------------------------");

        // lambda表达式的省略格式
        // 如果参数有且仅有一个，那么小括号可以省略
        useStringHandler( msg -> {
            System.out.println(msg + "不错不错....");
        }) ;

    }

    /**
     * 定义一个方法，该方法的主要作用就是去使用StringHandler接口
     * 因此，我们在定义这个方法的时候需要传递一个StringHandler类型的形式参数
     */
    public static void useStringHandler(StringHandler handler) {

        // 使用StringHandler
        handler.printMessage("北京你好......");

    }

}
